home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Creative Computers
/
Creative Computers CD-ROM, Volume 1 (Legendary Design Technologies, Inc.)(1994).iso
/
shareware
/
management
/
psx_1.3
/
psx.docs
< prev
next >
Wrap
Text File
|
1994-11-17
|
8KB
|
214 lines
PSX 1.3 (PublicScreenX)
A 2.0 Public Screen Manager
by Steve Tibbett
---
UPDATE NOTE: PSX 1.1 is PSX 1.0 with some enforcer hits removed, and
with the addition of a DISPLAYID keyword when starting from CLI. If
you've got the CBM includes then you can specify a DisplayID as a hex
number as in PSX OPEN Phred DISPLAYID 0x8000 (to get a hires screen).
Also, 1.1 changes the way the MAKEDEFAULT keyword works. MAKEDEFAULT
is now /K instead of /S, meaning it now needs a string. So to open
Phred and have it be the default, you'd need to do something like
PSX OPEN PHRED MAKEDEFAULT PHRED.
---
---
UPDATE NOTE II: PSX 1.2 was bug fixes
---
---
UPDATE NOTE III: PSX 1.3 adds a number of major features to PSX.
One of them is a Workbench interface - all the keywords are now
valid from the Workbench. So, you could set up PSX's icon with
OPEN="Fred" as a ToolType, and when double-clicked, Fred will
open. This works for all the keywords, including the Boolean
keywords (ie, POP, or SHANGHAI).
Two new keywords: NOGUI opens PSX resident with NO graphic user
interface. HOTKEY lets you change the hotkey you'll use to call
up PSX - the default is "lcommand s" or Left-Amiga-S.
The hotkey, when active, turns PSX into a Commodity - if you
run "Exchange", you'll see PSX in the list - you can activate
PSX from Exchange by clicking on it and then clicking on "Show".
If you hit ESCAPE when looking at the main window, or click on the
Close gadget (instead of the Quit gadget), PSX will go into
Resident mode waiting for either the hotkey or a break signal. The
hotkey will always be Left-Amiga-S unless you explicitly change
it when PSX is invoked. (From Workbench, this would be via
HOTKEY="SHIFT f3" or whatever key you want, as a Tooltype).
If you want to make PSX resident at startup, add a DONOTWAIT
tooltype and a NOGUI tooltype, and then drag PSX into your WBStartup
drawer. This way, Workbench won't wait for PSX to quit when it's
been loaded, and it will be loaded every time you reboot.
I moved a lot of the error messages from the CLI into their own
requesters. I increased the max bitplanes from 4 to 8 - the chips
can only display 6, but Intuition will happily allocate 8 bitplanes
anyway. (I was testing the error handling code - tried to open 8
bitplanes and it let me. Was sure it was my code until I noticed
the system thought the screen had 8 bitplanes).
---
PSX is a utility that won't mean much to you unless you have programs that
use public screens, or you need to have a public screen around to open
windows on.
PSX can be run with no arguments, in which case it will open up it's
user interface, or you can get it to do most of it's things from the
command line.
THE USER INTERFACE
The user interface is very straightforward so I will only touch on it
lightly here.
When you run PSX with no arguments, a window will open with gadgets along
the left side, and a scrolling list on the right side. The scrolling list
contains the names of all the public screens currently in the system, and
the gadgets on the left are various ways of maniuplating items in the list.
To select a screen, simply click on it's name. The name of the last
selected screen is just below the list.
"Open Screen" will pop up another window with screen selection gadgets -
type in the name you want for your new screen, if you want it to be
hires, etc., click on the appropriate gadgets, then click Open Screen
(or Cancel if you get cold feet).
"Close Screen" will attempt to close the screen. Public Screens are
supposed to be closed by the program that owns them, so this is usually
only a good idea to perform on screens you have opened with "Open Screen".
"Move To Screen" will move the PSX window itself to the selected
screen. If the screen is LORES, PSX may have a hard time squeezing
itself onto the screen, but otherwise it should have no trouble dealing
with whatever fonts and colours the screen has up.
"Make Default" will make the selected screen the "Default Public Screen" -
which simply means that any program smart enough to open on the
"Default Public Screen" will now open on that ascreen.
"Refresh List" just grabs a new copy of the screen list, since it won't
automatically notice if a screen appears or disappears while the
window is open.
The next two gadgets are "Global Flags" that affect the operation of all
public screens. The "Shanghai" flag, when on, will redirect all windows that
would have gone to the "Workbench" screen to the "Default Public Screen",
and the "PopPubScreen" flag will bring to the front any public screen as
a window opens on it.
THE COMMAND LINE
Typing "PSX ?" will give you this:
OPEN/K,CLOSE/K,DISPLAYID/K,HIRES/S,LACE/S,DEPTH/N,MAKEDEFAULT/K,SHANGHAI/S,
NOSHANGHAI/S,POP/S,NOPOP/S,TOFRONT/K,TOBACK/K
and in that line is everything you need to know about PSX's command line
interface. The keywords are:
OPEN "ScreenName"
CLOSE "ScreenName"
DISPLAYID 0x00000000 (display ID number, 0x#=Hex, otherwise Decimal)
SHANGHAI
NOSHANGHAI
POP
NOPOP
TOFRONT "ScreenName"
TOBACK "ScreenName"
MAKEDEFAULT "ScreenName"
The HIRES and DEPTH items are flags for the OPEN command (ie,
OPEN "ScreenName" HIRES LACE will open a hires interlaced screen. The
depth is specified as DEPTH 3 where 3 is the number of bitplanes the
screen is to have. MAKEDEFAULT specifies that the newly opened screen
should also become the Default Public Screen.
SHANGHAI and NOSHANGHAI turn the Shanghai flag on and off. These get
processed AFTER the "Open" and "Close" commands.
POP and NOPOP turn on and off the POPPUBSCREEN flag - enable and disable
the popping to the front of any screen whenever a window is opened.
So a valid command line would be:
PSX OPEN "CLIScreen" HIRES LACE DEPTH 1 MAKEDEFAULT "CLIScreen"
SHANGHAI POP
which would give you a screen entitled "CLIScreen", Hires interlaced,
(with the actual dimensions taken from your preferences), and the SHANGHAI
and POPPUBSCREEN flags are both turned on.
This in combination with the fact that under 2.0 you can give a Public
Screen name for console windows to open up on means you can set up a
screen for the exclusive purpose of running a CLI or two on, making them
one bitplane so they scroll more quickly than the Workbench screen,
which would look kind of ugly in one bitplane.
Remember that all public screen names ARE case sensitive - "MyScreen" is
not the same as "MYSCREEN".
THE SOURCE
I've included the source to PSX. It's a very "2.0" program - it uses
the DOS "ReadArgs" call to parse the command line, it uses GadTools for
the user interface, and (I believe) is a good example for dealing with
public screens.
It compiles with the Lattice 5.10 C compiler and the 2.0 includes. It
will probably only compile with Lattice, as I've taken a liking to the
C++ comment style, which Lattice permits.
AUTHOR AND DISTRIBUTION INFORMATION
PSX is freely redistributable, but is also Copyright 1990 Steve Tibbett.
Distribution is only very slightly limited: You may not distribute
PSX without it's current documentation, nor without source,
and if it is to be commercially distributed, I won't demand but I would
appreciate being sent a copy of whatever it is being distributed with
or on (in the case of disk magazines).
Like all my stuff, PSX will likely continue to change. If you like
PSX, check with wherever you got it every few months for updated
versions, especially if you have problems with it (and have let me
know about them), as I normally fix problems quickly.
I don't ask for any cash contribution for PSX. If you are feeling
guilty and just want to send something, send an original game or
a neat demo, I'll probably appreciate it more than cash.
My Virutal Addresses:
My BBS is 613-731-3419, up 24 hours/day running my own BBS (BBX)...
You can reach me on Plink (where I'm an Asst. Chair) as STEVEX...
You can reach me on Bix as "s.tibbett"...
You can reach me through FidoNet on point 1:163/109.42...
You can send me Usenet mail at cognos!alzabo!omx!stevex...
Or you can call me at 613-731-5316.
I prefer talking with people electronic